#![no_main]
#![no_std]

use cortex_m_rt::entry;
use panic_halt as _; // 使程序在崩溃时暂停

use stm32f4xx_hal as hal;
use hal::{pac, prelude::*}; // 引入 HAL 和 PAC（Peripheral Access Crate）

#[entry]
fn main() -> ! {
    // 获取设备外设的访问权限
    let dp = pac::Peripherals::take().unwrap();

    // 初始化时钟
    let _rcc = dp.RCC.constrain();
    let gpioa = dp.GPIOA.split();

    // 将 PA5 配置为推挽输出
    let mut led = gpioa.pa5.into_push_pull_output();

    // 点亮 LED
    led.set_high();

    // 无限循环，保持 LED 点亮
    loop {}
}
